.\" xsd manual page.
.\" (C) 2004 Novell, Inc.
.\" Author:
.\" Lluis Sanchez Gual (lluis@ximian.com)
.\" 
.TH "xsd" "1" "" "" ""
.SH "NAME"
xsd \- Mono's utility for generating schema or class files
.SH "SYNOPSIS"
.PP 
.B xsd
<schema.xsd> /classes [options]
.PP 
.B xsd
<schema.xsd> /dataset [options]
.PP 
.B xsd
<assembly>.dll|<assembly>.exe [options]
.PP 
.B xsd
<instance.xml> [<instance.xml> ...] [options]
.PP 
.SH "DESCRIPTION"
.I xsd
is a tool for intended to complement the XML serialization support of Mono. It can do the following tasks:
.TP 
Generate serializable classes
From a given XML schema, generate a class that can be used to read and write xml documents that conform that schema (/classes option).
.TP 
Generate typed datasets
From a given XML schema, generate a typed DataSet class that can be used to read and write xml documents that conform that schema (/dataset option).
.TP 
Generate XML schemas
From a given assembly and an optional type name, generate an XML schema that can be used to validate the xml documents that can be obtained by serializing objects of that type. If no type is provided, xsd generates a schema for all types in the assembly. When specifying the assembly name do not include the file extension (.dll or .exe). xsd will look for the assembly using the standard assembly loading rules.
.TP 
Infer XML schemas
From a given set of XML documents, infer the XML schema that can be used to validate those documents.

.SH "OPTIONS"
The following options are available:
.TP 
.I "/element:name" "/e:name"
Specifies the name of the XML schema element for which a class or a dataset has to be generated.
.TP 
.TP 
.I "/namespace:name" "/n:name"
Specifies the namespace of the XML schema element for which a class or a dataset has to be generated.
.TP 
.I "/language:name" "/l:name"
Specifies the programming language to use for the generated code. The only supported languages are CS (C#) and VB (Visual Basic.NET).
.TP 
.I "/generator:type,assembly" "/g:type,assembly"
Indicates xsd.exe to use custom CodeDomProvider to generate code. The type name must be full name. Assembly name is a local file name that is going to be loaded. The specified Type must have the default constructor.
.TP 
.I "/outputdir:path" "/o:path"
Specifies the directory where to generate the code or schemas.
.TP 
.I "/type:name" "/t:name"
Specifies the full name of the type (including namespace) for which to generate the XML schema.
.TP 
.I "/help" "/h"
Show usage help.
.PP 
.SH "AUTHORS"
Lluis Sanchez Gual (lluis@ximian.com)
.br 
Atsushi Enomoto (atsushi@ximian.com)
.PP 
.SH "LICENSE"
xsd is released under the terms of the GNU GPL.
.PP 
.SH "SEE ALSO"
disco(1), soapsuds(1), mono(1), mcs(1), wsdl(1)
